package com.genesis.mall.service;

import com.genesis.mall.dto.*;
import com.genesis.mall.entity.OmsOrder;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author author
 * @since 2022-08-01
 */
public interface IOmsOrderService extends IService<OmsOrder> {

    PageDto<OmsOrder> findList(OmsOrderVO orderParam, Integer pageNum, Integer pageSize);

    void deleteByIds(List<Long> ids);

    void closeOrders(List<Long> ids, String note,HttpServletRequest request);

    void delivery(List<OmsOrder> deliveryParamList);

    boolean moneyInfo(OrderAmountVO orderAmountVO);

    void note(Long id, String note, Integer status);

    void receiverInfo(OmsOrder omsOrder);

    OmsOrderDto getAllInfoById(Long id);
    void cancelUserOrder(Long orderId,HttpServletRequest request);

    OrderDetailDto detail(Long orderId);

    Map<String,Object> generateConfirmOrder(List<Long> cartIds, HttpServletRequest request);

    PageOrder<OrderDetailDto> getList(PageOrder<OrderDetailDto> pageDto,HttpServletRequest request,Integer status);

    Map<String,Object> generateOrder(OrderParam orderParam, HttpServletRequest request );
}
